2
תגובות
חיפשתי בגוגל ומצאתי שזאת האפשרות המקבילה ב- PDO:
הבעיה היא שיש גם הטוענים שיש עם זה מלא בעיות ושאנשים פשוט מתוסכלים ולא מצליחים.. ועדיף לוותר..
נחשו מה.. גם לי זה לא כל כך עובד.. רציתי לשאול אם מישהו פעם ניסה ויודע איך עובדים עם זה נכון ולמה זה לא עובד לי?
הקוד שכתבתי..
הווארדאמפ מחזיר false.. רעיונות?
$result = $q->fetch(PDO::FETCH_ORI_ABS,PDO::FETCH_ORI_ABS,0);
הבעיה היא שיש גם הטוענים שיש עם זה מלא בעיות ושאנשים פשוט מתוסכלים ולא מצליחים.. ועדיף לוותר..
נחשו מה.. גם לי זה לא כל כך עובד.. רציתי לשאול אם מישהו פעם ניסה ויודע איך עובדים עם זה נכון ולמה זה לא עובד לי?
הקוד שכתבתי..
$query = "SELECT name,age FROM users";
$q = $db->prepare($query);
$q->execute();
$q->setFetchMode(PDO::FETCH_ASSOC);
//get all the result's rows into array
$arrayData = $q->fetchAll();
foreach ($arrayData as $row){
echo $row['name'] ." ";
echo $row['age'] ."<br>";
}
$result = $q->fetch(PDO::FETCH_OBJ,PDO::FETCH_ORI_ABS,0);
var_dump($result);
$q = $db->prepare($query);
$q->execute();
$q->setFetchMode(PDO::FETCH_ASSOC);
//get all the result's rows into array
$arrayData = $q->fetchAll();
foreach ($arrayData as $row){
echo $row['name'] ." ";
echo $row['age'] ."<br>";
}
$result = $q->fetch(PDO::FETCH_OBJ,PDO::FETCH_ORI_ABS,0);
var_dump($result);
הווארדאמפ מחזיר false.. רעיונות?
2 תשובות
מה אתה מנסה לעשות?
שוב פעם לעבור על כל השורות שהוחזרו לך למרות שכבר יש לך מערך שלם עם הנתונים?
בכל אופן, כדי שזה יעבוד, אתה צריך שהקורסור שלך יהיה בכלל נגיש לאיטרציה ואחזרה לאפס. כדי שזה יקרה, אתה ב prepare צריך להגיד לPDO שאנחנו רוצים scrollable cursor
$dbh->prepare($query, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL));
בגלל שבברית מחדל הקורסור הוא PDO::CURSOR_FWDONLY